
export interface IJwtData extends IJwtPayload {
  iat: number
  exp: number
}

export interface IJwtPayload {
  username: string
  type: 'admin'
}

export class BizError extends Error {

}

export interface IMsTokenInfo {
  token_type: string
  scope: string
  /** 
   * 签发时间（时间戳，毫秒）
   */
  sign_ts: number
  /** 
   * 过期固定时间（时间戳，毫秒）
   */
  expires_ts: number
  /**
   * 过期相对时间
   * 单位：秒
   */
  expires_in: number
  ext_expires_in: number
  access_token: string
  refresh_token: string
}

export interface Admin {
  username: string
  password: string
}

export interface AzureApp {
  code: string
  name: string
  clientId: string
  clientSecret: string
  oauthScope: string
  msToken?: IMsTokenInfo
}